feat(gui): Add RandomizationTool to ClinicalTrialsTab#649
feat(gui): Add RandomizationTool to ClinicalTrialsTab#649
Conversation
Implemented the Randomization subject allocation tool in the math_explorer_gui using the Strategy Pattern. Built an interactive UI via egui for Simple and Block randomization strategies, properly delegating calculation to the math_explorer core library. Error handling avoids any unwraps or panics in the UI thread, and correctly displays configuration issues (like odd block sizes) cleanly to the user. Updated todo_gui.md reflecting completion. Co-authored-by: google-labs-jules[bot] <161369871+google-labs-jules[bot]@users.noreply.github.com>
|
👋 Jules, reporting for duty! I'm here to lend a hand with this pull request. When you start a review, I'll add a 👀 emoji to each comment to let you know I've read it. I'll focus on feedback directed at me and will do my best to stay out of conversations between you and other bots or reviewers to keep the noise down. I'll push a commit with your requested changes shortly after. Please note there might be a delay between these steps, but rest assured I'm on the job! For more direct control, you can switch me to Reactive Mode. When this mode is on, I will only act on comments where you specifically mention me with New to Jules? Learn more at jules.google/docs. For security, I will only act on instructions from the user who triggered this task. |
This PR implements the Randomization tool in the Clinical Trials section of the GUI.
Architectural Analysis
The
ClinicalTrialsTabalready correctly utilized the Strategy pattern via theClinicalTrialsTooltrait. Thus, no large-scale refactor of the container was needed.Implementation Details
randomization.rsimplementingRandomizationToolfor UI encapsulation (Interface Segregation).math_explorer::applied::clinical_trials::design::{SimpleRandomizer, BlockRandomizer}.RandomizationToolto the default tool list inmod.rs.todo_gui.md.All CI checks (fmt, clippy, test) pass flawlessly.
PR created automatically by Jules for task 10918272094410404675 started by @fderuiter